home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 131 / XENIATGM131.iso / Goodies / I-WAR 2 Egde of Chaos - New SDK / IW2-EOC_Pog_Scripting_SDK.exe / include / ioptions.h < prev    next >
C/C++ Source or Header  |  2002-01-14  |  4KB  |  198 lines

  1. //
  2. // (c) 2000 Particle Systems Ltd. All Rights Reserved
  3. //
  4. // iOptions.h
  5. //
  6. // Package API for I-War 2 options management
  7. //
  8. // Revision control information:
  9. //
  10. // $Header:
  11. //
  12.  
  13. #include "Flux.h"
  14.  
  15. #ifdef FLUX_COMPILE
  16.  
  17. FLUX_DECLARE_EXTENSION(iOptions);
  18.  
  19. #ifdef FLUX_LIB
  20. #if _MSC_VER >= 1000
  21. #pragma comment( lib, "ioptions" )
  22. #endif // _MSC_VER >= 1000
  23. #endif // FLUX_LIB
  24.  
  25. #else
  26.  
  27. //
  28. // iOptions.RegisterFloat
  29. //
  30. // Register a float option with the options screen
  31. //
  32. prototype iOptions.RegisterFloat( 
  33.     string name,    
  34.     string class_name,
  35.     string property,
  36.     float start_value,        
  37.     float end_value,
  38.     bool immediate_update );        
  39.  
  40. //
  41. // iOptions.RegisterInt
  42. //
  43. // Register an integer option with the options screen
  44. //
  45. prototype iOptions.RegisterInt( 
  46.     string name,    
  47.     string class_name,
  48.     string property,
  49.     int start_value,        
  50.     int end_value,
  51.     bool immediate_update );        
  52.  
  53. //
  54. // iOptions.RegisterBool
  55. //
  56. // Register a boolean option with the options screen
  57. //
  58. prototype iOptions.RegisterBool( 
  59.     string name,        
  60.     string class_name,    
  61.     string property,
  62.     bool immediate_update );    
  63.  
  64. //
  65. // iOptions.RegisterString
  66. //
  67. // Register a string option with the options screen
  68. //
  69. prototype iOptions.RegisterString( 
  70.     string name,        
  71.     string class_name,    
  72.     string property,
  73.     string first_option,
  74.     bool immediate_update );    
  75.  
  76. //
  77. // iOptions.RegisterStringProperyOption
  78. //
  79. // We can't add a list of strings, so we have to add each possible
  80. // value in a string property manually
  81. //
  82. prototype iOptions.RegisterStringPropertyOption( string name, string value );
  83.  
  84. //
  85. // iOptions.Apply
  86. //
  87. // Go through the registered options and apply the changes made
  88. //
  89. prototype iOptions.Apply();    
  90.  
  91. //
  92. // iOptions.Update
  93. //
  94. // Check that the options haven't changed
  95. //
  96. prototype iOptions.Update();
  97.  
  98. // 
  99. // iOptions.UnregisterAll
  100. //
  101. // Unregister all the registered options
  102. //
  103. prototype iOptions.UnregisterAll();    
  104.  
  105. // 
  106. // iOptions.CreateWindows( hwindow list_box )
  107. //
  108. // Once all the options are registered, we create the windows to display
  109. // and control the option settings.
  110. //
  111. prototype iOptions.CreateWindows( hwindow list_box );    
  112.  
  113. //
  114. // iOptions.OnSelect( hwindow list_box )
  115. //
  116. // When the list box entries get selected
  117. //
  118. prototype iOptions.OnSelect( hwindow list_box );
  119.  
  120. //
  121. // iOptions.OnLeft( hwindow list_box )
  122. //
  123. // When the list box entries get a left command
  124. //
  125. prototype iOptions.OnLeft( hwindow list_box );
  126.  
  127. //
  128. // iOptions.OnRight( hwindow list_box )
  129. //
  130. // When the list box entries get a right command
  131. //
  132. prototype iOptions.OnRight( hwindow list_box );
  133.  
  134. //
  135. // list iOptions.CreateGraphicsDeviceOptionButtons()
  136. //
  137. // Create a list of parentless, list-box-ready buttons for the various
  138. // supported graphics devices. 
  139. //
  140. prototype list iOptions.CreateGraphicsDeviceOptionButtons();
  141.  
  142. //
  143. // int iOptions.GraphicsDeviceIndex()
  144. //
  145. // Get the index into the list of graphics devices of the selected device
  146. //
  147. prototype int iOptions.GraphicsDeviceIndex();
  148.  
  149. //
  150. // iOptions.SetGraphicsDevice( int device_index, int resolution_index )
  151. //
  152. // Set a new graphics device and resolution from the given indices
  153. //
  154. prototype iOptions.SetGraphicsDevice( int device_index, int resolution_index );
  155.  
  156. //
  157. // int iOptions.NumberOfResolutionOptions( int device_index )
  158. //
  159. // Get the number of resolution options
  160. //
  161. prototype int iOptions.NumberOfResolutionOptions( int device_index );
  162.  
  163. //
  164. // list iOptions.CreateGraphicsResolutionOptionButtons( 
  165. //        int device_index,
  166. //        bool thin_buttons )
  167. //
  168. // Create a list of parentless, list-box-ready buttons for the various
  169. // supported graphics resolution. Also pass in whether or not we want thin
  170. // buttons (because of a scrollbar)
  171. //
  172. prototype list iOptions.CreateGraphicsResolutionOptionButtons( 
  173.     int device_index,
  174.     bool thin_buttons );
  175.  
  176. //
  177. // int iOptions.GraphicsResolutionIndex()
  178. //
  179. // Get the index into the list of graphics resolutions of the selected device
  180. //
  181. prototype int iOptions.GraphicsResolutionIndex( int device_index );
  182.  
  183. //
  184. // iOptions.RestoreDefaults()
  185. //
  186. // Restore defaults
  187. //
  188. prototype iOptions.RestoreDefaults();
  189.  
  190. //
  191. // iOptions.DirectX8Available
  192. //
  193. // Determine if directx8 is a valid option 
  194. //
  195. prototype bool iOptions.DirectX8Available();
  196.  
  197. #endif // FLUX_LIB
  198.